package obyte

import (
	"bytes"
)

// BytesCombineByJoin 使用join函数 进行bytes数组合并
func BytesCombineByJoin(pBytes ...[]byte) []byte {
	length := len(pBytes)
	s := make([][]byte, length)
	for index := 0; index < length; index++ {
		s[index] = pBytes[index]
	}
	sep := []byte("")
	return bytes.Join(s, sep)
}

// BytesCombineByBuffer 使用bytes.Buffer 进行数组合并
func BytesCombineByBuffer(pBytes ...[]byte) []byte {
	var buffer bytes.Buffer
	for index := 0; index < len(pBytes); index++ {
		buffer.Write(pBytes[index])
	}
	return buffer.Bytes()
}

// append函数可以直接合并
//func BytesCombine4() {
//	var res1 []byte
//	var res2 []byte
//	one := make([]byte, 2)
//	two := make([]byte, 2)
//	//16进制
//	one[0] = 0x00
//	one[1] = 0x010
//	two[0] = 0x020
//	two[1] = 0x030
//	res1 = append(one[:], two[:]...)
//	fmt.Println(res1)
//
//	//10进制
//	three := []byte{0, 10}
//	four := []byte{20, 30}
//	res2 = append(three, four...)
//	fmt.Println(res2)
//
//	five := []byte("one")
//	six := []byte("two")
//	res3 := append(five, six...)
//	fmt.Println(res3)
//	fmt.Printf("%s\n", res3)
//}
